// -*- IDL -*-

/**
 * @file IORInterceptor.pidl
 *
 * @brief Pre-compiled IDL source for the IOR Interceptor
 * components in the ORB.
 *
 * The following is from orbos/99-12-02 Portable Interceptors spec,
 * the full IDL is downloadable from orbos/99-12-02. This file contains
 * interfaces from PortableInterceptor.idl that depend on
 * ObjectReferenceFactory and ObjectReferenceTemplate, which inherit
 * directly or indirectly from CORBA::ValueBase. This separate file
 * has been created to remove the dependency from the rest of module
 * PortableInterceptor.
 */

// File: IORInterceptor.idl
#ifndef _IOR_INTERCEPTOR_IDL_
#define _IOR_INTERCEPTOR_IDL_

#include "tao/PI/Interceptor.pidl"
#include "tao/IORInterceptor/IORInfo.pidl"
#include "tao/ObjRefTemplate/ObjectReferenceTemplate.pidl"

module PortableInterceptor
{
  typeprefix PortableInterceptor "omg.org";

  local interface IORInterceptor : Interceptor
  {
    void establish_components (in IORInfo info);
  };

  local interface IORInterceptor_3_0 : IORInterceptor
  {
    void components_established (in IORInfo info);

    void adapter_manager_state_changed (
        in AdapterManagerId id,
        in AdapterState state
      );
    void adapter_state_changed (
        in ObjectReferenceTemplateSeq templates,
        in AdapterState state
      );
  };
};

#endif  /* _IOR_INTERCEPTOR_IDL_ */
